import pandas
#Tworzenie danych (w postaci słownika)
dane = {
    "Imię" : ["Marcin", "Andrzej", "Anna", "Marek"],
    "Wiek" : [40, 25, 35, 18],
    "Miasto" : ["Radom", "Sosnowiec", "Łódź", "Toruń"]
}
print(type(dane))

#Tworzenie ramki z danymi
df = pandas.DataFrame(dane)
print(df)

#Zapis do pliku excel
df.to_excel("dane.xlsx", index = False, sheet_name = "Osoby")

#Odczyt z pliku excel
odczytane = pandas.read_excel("dane.xlsx", sheet_name = "Osoby")
print(f"Wyczytane dane:\n{odczytane}")

#Obliczenie średniego wieku w kolumnie wiek
sredni_wiek = odczytane['Wiek'].mean()
print(f"Średni wiek w kolumnie wiek: {sredni_wiek}")

#Osoby (całe wiersze), których wiek jest mniejszy niż 35
mlode_osoby = odczytane[odczytane['Wiek'] < 35]
print(f"Osoby poniżej 35 lat: \n{mlode_osoby}")
"""
odczytane['Wiek'] < 35 
Tworzy maskę (listę) True/False [False, True, False, True]
Maska jest nakładana na oryginalne dane. 
Wybieramy tylko wiersze, gdzie jest True
"""

#Wiersz z najniższym wiekiem
min_wiek = odczytane[odczytane['Wiek'] == odczytane['Wiek'].min()]
print(f"Osoba z najniższym wiekiem:\n{min_wiek}")

"""
mean() - średnia
median() - mediana (wartość środkowa dla uporządkowanego zestawu danych)
mode() - dominanta (najczęściej występująca wasrtość)
sum() - suma
min() / max()
"""